<?php

/**
 * Description of Abstract
 *
 * @author nhanva
 */
abstract class Fpt_Business_Match_Adapter_Abstract
{
    /**
     *
     * @var Fpt_Business_Match_Adapter_Abstract
     */
    protected static $_instance;
    
    final protected function __construct() {
        
    }
    
    /**
     * Get Fpt_Business_Match_Adapter_Abstract's instance
     * @return Fpt_Business_Match_Adapter_Abstract
     */
    abstract public static function getInstance();

    /**
     * Get hot match
     * @param array $arrParams
     * @return array
     * @author  : nhanva@fpt.net
     */
    abstract public function getHotMatch($strPosition, $intCategory);
    
    /**
     * Get matches from begin date to end date
     * @param int $seasonId
     * @param int $leagueId
     * @param int $beginDate
     * @param int $endDate
     * @return array|bool
     * @author QuangTM
     */
    abstract function getMatchInWeek($seasonId, $leagueId, $beginDate, $endDate);
    
    /**
     * Get detail match by list ids
     * @param array $arrMatchIDs
     * @return array|boolean
     * @author QuangTM
     */
    public function getMatchDetailByIDs ($arrMatchIDs)
    {
        return FALSE;
    }
    
    /**
     * Get list match ids by happen time
     * @param int $begin
     * @param int $end
     * @return array|boolean 
     * @author QuangTM
     */
    public function getListMatchesByHappenTime ($begin, $end, $leagueID = NULL)
    {
        return FALSE;
    }
    
    public function getMatchIDsBySeasonAndLeague($seasonID,$leagueID)
    {
        return array();
    }
}